SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TMDOCU_CLIE_Q36]                
/*-------------------------------------------------------*/                  
/*---Empresa               OFISIS S.A.                --*/                  
/*---Cliente               OFISIS S.A.                --*/                  
/*---Sistema               Tesoreria                  --*/                  
/*---M¢dulo                Empresa                    --*/                  
/*---Programa              ANALÍTICO         --*/                  
/*---Script                SP_TMDOCU_CLIE_Q36.sql     --*/                  
/*---Nombre SP             SP_TMDOCU_CLIE_Q36         --*/                  
/*---Desarrollado por      Eduardo Vivar Pomiano      --*/                  
/*---Fecha Creaci¢n        03/01/2001                 --*/                  
/*---Base Datos            SQL_SERVER               --*/                  
/*---Versi¢n               2000                       --*/                  
/*---Invoca a SP                                      --*/                  
/*-------------------------------------------------------*/                  
                  
/*-------------------------------------------------------*/                  
/*---Modificado 1 por           --*/                  
/*---Fecha Modificaci¢n         --*/                   
/*---Detalle Modificaci¢n       --*/                  
/*-------------------------------------------------------*/                  
                  
/*-------------------------------------------------------*/                  
/*---Drop Proc SP_TMDOCU_CLIE_Q36                      --*/                  
/*---Grant all on SP_TMDOCU_CLIE_Q36 to public         --*/                   
/*---SP_TMDOCU_CLIE_Q36 '01', "Where TMDOCC_GENE.CO_CLIE >= '00000000001' And TMDOCC_GENE.CO_CLIE <= '20506518271' And 
TMDOCC_GENE.CO_TIPO_DOCU in ( 'FAE')",                  
 'SOL','01/02/2003','04/11/2003', 'R','1', 'C', 'D'   --*/                  
/*---SP_TMDOCU_CLIE_Q36 '01', '0677130300000', ''ACE' , 'ACT' , 'CAR'', ''A',  'B',  'C',  'D',  'E',  
'P',  'Z'', 'SOL','2001/08/01','2002/08/31', 'L','1', 'C', 'D'   --*/                  
/*-------------------------------------------------------*/                  
@ISCO_EMPR TD_VC_002,                  
@ISCA_WHER_0001 VARCHAR(255),                  
@ISCA_WHER_0002 VARCHAR(255),                  
@ISCO_MONE  TD_VC_003,                  
@IDFE_INIC  TD_DT_001,                  
@IDFE_FINA  TD_DT_001,                  
@ISTI_DOCU TD_VC_001,                  
@ISDE_ORDE TD_VC_001,                  
@ISTI_AUXI_CLIE TD_VC_001,                  
@ISTI_REPO  TD_VC_001                  
                  
AS                   


--EXEC SP_TMDOCU_CLIE_Q36 '01', 'Where 1=1 ', '','SOL','01/02/2003','10/04/2007', 'R','1', 'C', 'D' 
      
      
CREATE TABLE #TWTXMVTO_DIFE      
 ( CO_EMPR      varchar(3) NULL,                  
   NU_CNTB_EMPR  INTEGER NULL,      
   CO_UNID_CNTB varchar(3) NULL ,                  
   CO_OPRC_CNTB varchar(3) NULL,                  
   NU_ANNO INTEGER NULL ,                  
   NU_MESE INTEGER NULL,                  
   FE_ASTO_CNTB datetime NULL,        
   TI_AUXI_EMPR varchar(01) NULL,                        
   CO_AUXI_EMPR varchar(20) NULL,           
   TI_DOCU varchar(03) NULL,                                     
   NU_DOCU varchar(20) NULL,                                     
   CO_MONE varchar(03) NULL,                  
   FA_CAMB numeric(15,6) NULL,      
   TI_OPER varchar(03) NULL,                                     
   IM_MVTO_CNTB numeric(16,4) NULL )      
    
CREATE INDEX IX_#TWTXMVTO_DIFE_1                   
ON #TWTXMVTO_DIFE (CO_AUXI_EMPR,CO_EMPR, TI_DOCU, NU_DOCU)                  
WITH FILLFACTOR = 70                  
      
                  
CREATE TABLE #TWDOCU_CLIE_Q36_1                   
 ( CO_EMPR      varchar(3) NULL,                  
   CO_TIPO_DOCU varchar(3) NULL ,                  
   NU_DOCU_CLIE varchar(20) NULL,                  
   CO_CLIE varchar(20) NULL ,                  
   FE_EMIS datetime NULL,                  
   FE_COBR datetime NULL,                  
   CO_MONE varchar(03) NULL,            
   FA_TIPO_CAMB numeric(9,4) NULL,                  
   FA_CAMB_EXTR numeric(9,4) NULL,                  
   IM_VENT numeric(16,4) DEFAULT 0,                  
   IM_CHED numeric(16,4) DEFAULT 0,                  
   IM_RENO numeric(16,4) DEFAULT 0,                  
   IM_COBR numeric(16,4) DEFAULT 0,                  
   IM_LETR numeric(16,4) DEFAULT 0,                  
   IM_ANTC numeric(16,4) DEFAULT 0,                  
   IM_AJUS numeric(16,4) DEFAULT 0,          
   IM_AJUS_DICA numeric(16,4) NULL,                  
   IM_APLI numeric(16,4) DEFAULT 0,                  
   IM_CONV numeric(16,4) DEFAULT 0,                  
   TI_DETA varchar(2) NULL)                  
                  
CREATE INDEX IX_#TWDOCU_CLIE_Q36_1                   
ON #TWDOCU_CLIE_Q36_1 (CO_EMPR, FE_EMIS, CO_TIPO_DOCU, NU_DOCU_CLIE)                  
WITH FILLFACTOR = 70                  
                  
    
CREATE INDEX IX_#TWDOCU_CLIE_Q36_2                  
ON #TWDOCU_CLIE_Q36_1 (CO_EMPR, FE_EMIS, NU_DOCU_CLIE)                  
WITH FILLFACTOR = 70                  
          
                 
CREATE TABLE #TWDOCU_CLIE_Q36_2                   
 ( CO_EMPR      varchar(3) NULL,                  
   CO_CLIE varchar(20) NULL,                   
   NU_DOCU_CLIE varchar(20) NULL,                   
   CO_TIPO_DOCU varchar(3) NULL,                  
   CO_MONE varchar(03) NULL,                  
   IM_SAIN numeric(16,4) NULL,         
   IM_SAIN_EXTR numeric(16,4) NULL,                  
   IM_SAIN_NETO numeric(16,4) NULL)                  
                  
CREATE TABLE #TWDOCU_CLIE_Q36_2A                   
 ( CO_EMPR    varchar(3) NULL,                  
   CO_CLIE varchar(20) NULL,                   
   NU_DOCU_CLIE varchar(20) NULL,                   
   CO_TIPO_DOCU varchar(3) NULL,                  
   CO_MONE varchar(03) NULL,                  
   IM_SAIN numeric(16,4) NULL,                  
   IM_SAIN_EXTR numeric(16,4) NULL,                  
   IM_SAIN_NETO numeric(16,4) NULL)                  
                  
CREATE TABLE #TWDOCU_CLIE_Q36_3                   
 ( CO_EMPR      varchar(3) NULL,                  
   CO_TIPO_DOCU varchar(3) NULL ,                  
   NU_DOCU_CLIE varchar(20) NULL,                  
   CO_CLIE varchar(20) NULL ,                  
   FE_EMIS datetime NULL,                  
   FE_COBR datetime NULL,                  
   CO_MONE varchar(03) NULL,                  
   FA_TIPO_CAMB numeric(9,4) NULL,                  
   FA_CAMB_EXTR numeric(9,4) NULL,                  
   IM_SAIN numeric(16,4) DEFAULT 0,                  
   IM_VENT numeric(16,4) DEFAULT 0,                  
   IM_CHED numeric(16,4) DEFAULT 0,                  
   IM_RENO numeric(16,4) DEFAULT 0,                  
   IM_COBR numeric(16,4) DEFAULT 0,                  
   IM_LETR numeric(16,4) DEFAULT 0,                  
   IM_ANTC numeric(16,4) DEFAULT 0,                  
   IM_AJUS numeric(16,4) DEFAULT 0,                  
   IM_APLI numeric(16,4) NULL,                  
   IM_AJUS_DICA numeric(16,4) NULL,                  
   IM_CONV numeric(16,4) NULL,                  
   TI_DETA varchar(2) NULL)                  
                  
CREATE INDEX IX_#TWDOCU_CLIE_Q36_3    
ON #TWDOCU_CLIE_Q36_3 (CO_EMPR, CO_CLIE)                  
WITH FILLFACTOR = 70                  
    
                  
                  
DECLARE                   
                  
@VSTI_SALD TD_VC_020,                  
@VSFL_FECH TD_VC_020,                  
@VSDE_ORDE TD_VC_100,                  
@VNNU_ANNO_INIC TD_IN_001,                  
@VNNU_MESE_INIC TD_IN_001,                  
@VNNU_ANNO_FINA TD_IN_001,               
@VNNU_MESE_FINA TD_IN_001,                  
@VNNU_NULL TD_IN_001,                  
@VSCA_WHER VARCHAR(600),                  
@VSFE_INIC VARCHAR(10),                  
@VSFE_FINA VARCHAR(10),                  
                  
@CSCO_EMPR TD_VC_002,                  
@CSCO_CLIE TD_VC_020,                  
@CSCO_TIPO_DOCU TD_VC_003,                  
@CSNU_DOCU_CLIE TD_VC_020,                  
@CNIM_VENT TD_NU_016_004,                   
@CNIM_CHED TD_NU_016_004,                  
@CNIM_RENO TD_NU_016_004,                  
@CNIM_COBR TD_NU_016_004,                  
@CNIM_LETR TD_NU_016_004,                  
@CNIM_ANTC TD_NU_016_004,                  
@CNIM_AJUS TD_NU_016_004,                  
@CNIM_APLI TD_NU_016_004,                  
      
@CSCO_MONE_DEFA TD_VC_003,      
@CSCO_MONE_EXTR TD_VC_003,         
@VSNU_ANNO_INIC TD_VC_004,               
@VSNU_ANNO_FINA TD_VC_004,               
@VSNU_MESE_INIC TD_VC_002,               
@VSNU_MESE_FINA TD_VC_002,               
      
                  
@OSTI_DOCU_NCRE TD_VC_003,                  
@OSTI_DOCU_LETR TD_VC_003                  
                  
                  
EXEC SP_TTDOCU_CNTB_Q01 4, @OSTI_DOCU_NCRE OUTPUT                  
EXEC SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU_LETR OUTPUT                  
                  
SELECT @VSCA_WHER = REPLACE(@ISCA_WHER_0001 + @ISCA_WHER_0002, 'TMDOCC_GENE', 'T4')                  
      
SELECT @CSCO_MONE_DEFA = CO_MONE_DEFA,  @CSCO_MONE_EXTR = CO_MONE_EXTR      
FROM TMPARA_TESO      
WHERE CO_EMPR = @ISCO_EMPR      
                  
IF @ISTI_DOCU = 'R'                  
    SELECT @VSCA_WHER = @VSCA_WHER + " And T4.CO_TIPO_DOCU != '" + @OSTI_DOCU_LETR + "' "                  
ELSE                  
    SELECT @VSCA_WHER = @VSCA_WHER + " And T4.CO_TIPO_DOCU = '" + @OSTI_DOCU_LETR + "' "                  
                  
Select  @VSFE_INIC = Convert (varchar(10), @IDFE_INIC, 103),                  
 @VSFE_FINA = Convert (varchar(10), @IDFE_FINA, 103)                  
                  
SELECT  @VNNU_ANNO_INIC = YEAR (@IDFE_INIC),                  
 @VNNU_MESE_INIC = MONTH (@IDFE_INIC),                  
 @VNNU_ANNO_FINA = YEAR (@IDFE_FINA),                  
 @VNNU_MESE_FINA = MONTH (@IDFE_FINA),      
 @VSNU_ANNO_INIC =  CONVERT (VARCHAR(4),@VNNU_ANNO_INIC ) ,                  
 @VSNU_MESE_INIC = CONVERT (VARCHAR(2),@VNNU_MESE_INIC ),                  
 @VSNU_ANNO_FINA = CONVERT (VARCHAR(4),@VNNU_ANNO_FINA ),       
 @VSNU_MESE_FINA = CONVERT (VARCHAR(2), @VNNU_MESE_FINA )                  
                  
                  
                  
-- TIPOS DE DETALLE(TI_DETA = '1' AL '7')                  
--1.- DOCS DE REGISTRO DE VENTAS                  
--2.- CHEQUES DEVUELTOS 'CHD'                  
--3.- PAGOS BANCOS                    
--4.- PAGOS CAJA                    
--5.- LETRAS                  
--6.- ANTICIPOS BANCOS                  
--7.- ANTICIPOS CAJA                  
--8.- AJUSTES BANCOS                  
--9.- AJUSTES BANCOS                  
--10.- APLICACIONES                  
      
      
                  
INSERT INTO #TWTXMVTO_DIFE       
(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB,       
NU_ANNO, NU_MESE, FE_ASTO_CNTB, TI_AUXI_EMPR, CO_AUXI_EMPR,       
TI_DOCU, NU_DOCU, CO_MONE, FA_CAMB, TI_OPER, IM_MVTO_CNTB)      
SELECT  T4.CO_EMPR, T4.NU_CNTB_EMPR, T4.CO_UNID_CNTB, T4.CO_OPRC_CNTB,       
T4.NU_ANNO, T4.NU_MESE, T4.FE_ASTO_CNTB,       
T4.TI_AUXI_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU,      
T4.CO_MONE, T4.FA_CAMB, T4.TI_OPER, T4.IM_MVTO_CNTB      
FROM  TXMVTO_CNTB T4       
 WHERE T4.CO_EMPR = @ISCO_EMPR                
  AND    CONVERT(VARCHAR(1),T4.NU_CNTB_EMPR)= '1'      
  AND  T4.CO_UNID_CNTB = '001'                
  AND    T4.CO_OPRC_CNTB = '015'              
  AND  (CONVERT(VARCHAR(4),T4.NU_ANNO)  < @VSNU_ANNO_FINA  OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_FINA AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  <= @VSNU_MESE_FINA))                
  AND  T4.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                
      
      
      
IF @ISTI_DOCU = 'R'                  
BEGIN                  
--1.- DOCS DE REGISTRO DE VENTAS                  
    EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
    (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_COBR,                
    CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_VENT, TI_DETA)                  
    Select T4.CO_EMPR, T4.CO_TIPO_DOCU , T4.NU_DOCU_CLIE , T4.CO_CLIE, T4.FE_EMIS, T4.FE_PROG_COBR,                   
    T4.CO_MONE, T4.FA_TIPO_CAMB, T4.FA_CAMB_EXTR, ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N'))*T4.IM_TOTA,      
            
   '1'                  
    From  TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T2 "                  
    + @VSCA_WHER + "                   
    And T4.CO_EMPR = '" + @ISCO_EMPR + "'                  
    And T4.TI_DOCU_ANTC = 'N'                  
    And T4.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
    And T4.CO_ESTA_DOCU != 'ANU'             
    AND T4.CO_TIPO_DOCU = T2.TI_DOCU                  
    AND T2.ST_REGI_VENT = 'S'")                  
                  
--2.- CHEQUES DEVUELTOS 'CHD'                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_COBR,                   
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_CHED, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU , T4.NU_DOCU_CLIE , T4.CO_CLIE, T4.FE_EMIS, T4.FE_PROG_COBR,                   
  T4.CO_MONE, T4.FA_TIPO_CAMB, T4.FA_CAMB_EXTR, ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N') )* T4.IM_TOTA,      
            
 '2'                  
  From  TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T2 "                   
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And T4.TI_DOCU_ANTC = 'N'                  
  And T4.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And T4.CO_ESTA_DOCU != 'ANU'                  
  AND T4.CO_TIPO_DOCU = 'CHD'                  
  AND T4.CO_TIPO_DOCU = T2.TI_DOCU")                  
  
--2.- CASO DE ANTICIPOS QUE SE ENCUENTRAN EN SU DATA  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_COBR,                   
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_CHED, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU , T4.NU_DOCU_CLIE , T4.CO_CLIE, T4.FE_EMIS, T4.FE_PROG_COBR,                   
  T4.CO_MONE, T4.FA_TIPO_CAMB, T4.FA_CAMB_EXTR, ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N') )* T4.IM_TOTA,      
            
 '1'                  
  From  TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T2 "                   
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And T4.TI_DOCU_ANTC = 'N'                  
  And T4.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And T4.CO_ESTA_DOCU != 'ANU'                  
  AND T4.CO_TIPO_DOCU = 'ANT'                  
  AND T4.CO_TIPO_DOCU = T2.TI_DOCU")                  
  
  
                  
--5.- LETRAS                  
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_LETR, TI_DETA)                  
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_CLIE, T2.FE_CANJ,                  
  T4.CO_MONE, T2.FA_TIPO_CAMB, 1,                   
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*T1.IM_CANJ_MDOC,                  
  '5'                  
  From   TDCANJ_CLIE T1 , TCCANJ_CLIE T2, TMDOCU_CLIE T4 WITH(NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
 AND  T2.FE_CANJ <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND T1.CO_EMPR = T2.CO_EMPR                  
  AND T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND  T1.CO_CLIE = T2.CO_CLIE                  
  AND  T1.NU_CANJ = T2.NU_CANJ                  
  AND  T1.FE_CANJ = T2.FE_CANJ                  
  AND   T2.TI_SITU = 'ACT'                  
  AND  T1.CO_EMPR = T4.CO_EMPR                  
  AND  T1.CO_TIPO_DOCU = T4.CO_TIPO_DOCU                   
  AND  T1.NU_DOCU_CLIE = T4.NU_DOCU_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU                  
  AND   T4.CO_ESTA_DOCU != 'ANU'                   
  AND  T5.ST_REGI_VENT = 'S' ")                  
                  
--6.- ANTICIPOS POR BANCOS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_ANTC, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T4.FE_EMIS,                  
  T4.CO_MONE, T4.FA_TIPO_CAMB, T4.IM_TOTA, '6'                  
  From  TMDOCC_GENE T4 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'B'                  
  And   T4.FE_EMIS  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And   T4.CO_ESTA_DOCU != 'ANU' ")                  
                  
--7.- ANTICIPOS POR CAJA                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_ANTC, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T4.FE_EMIS,                  
  T4.CO_MONE, T4.FA_TIPO_CAMB, T4.IM_TOTA, '7'                  
  From  TMDOCC_GENE T4 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'C'                  
  And   T4.FE_EMIS  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And   T4.CO_ESTA_DOCU != 'ANU' ")                  
                  
--8.- AJUSTES BANCOS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                  
  Select T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T2.FE_OPER,                  
  T4.CO_MONE, T2.FA_TIPO_CAMB,                   
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU,                  
  '8'                  
  From  TDMOVI_BANC T1, TCMOVI_BANC T2, TMDOCU_CLIE T4 WITH(NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "           
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And    T1.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T2.TI_SITU = 'ACT'                   
  And    T1.CO_EMPR = T2.CO_EMPR            
  And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  And    T1.CO_BANC = T2.CO_BANC                    
  And   T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC                    
  And    T1.AA_BNCO = T2.AA_BNCO                  
  And    T1.MM_BNCO = T2.MM_BNCO                   
  And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC                   
  And    T1.NU_COMP_BANC = T2.NU_COMP_BANC                  
  And T1.CO_EMPR = T4.CO_EMPR                  
  AND T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU                  
  And T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU                  
 AND  EXISTS ( SELECT T6.CO_EMPR                  
   FROM TTTIOP_AJUS T6                  
   WHERE T6.CO_EMPR = T2.CO_EMPR                  
     AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                  
                  
                  
--9.- AJUSTES CAJA                  
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                  
  Select T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T2.FE_OPER,                  
  T4.CO_MONE, T2.FA_TIPO_CAMB,                  
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T1.IM_CONV_DOCU,                  
  '9'                  
  From   TDMOVI_CAJA T1, TCMOVI_CAJA T2, TMDOCU_CLIE T4 WITH(NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And    T1.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T2.TI_SITU = 'ACT'                   
  And    T1.CO_EMPR = T2.CO_EMPR                    
  And    T1.CO_CAJA = T2.CO_CAJA                  
  And    T1.AA_CAJA = T2.AA_CAJA                  
  And    T1.MM_CAJA = T2.MM_CAJA                   
  And    T1.TI_MOVI = T2.TI_MOVI                  
  And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                  
  And T1.CO_EMPR = T4.CO_EMPR                  
  AND T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU                  
  And T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU                  
 AND  EXISTS ( SELECT T6.CO_EMPR                  
   FROM TTTIOP_AJUS T6                  
   WHERE T6.CO_EMPR = T2.CO_EMPR                  
     AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                  
                  
                  
--10.-- APLICACION DE ANTICIPOS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T7.FE_AMAR,                  
   T4.CO_MONE, MAX(T4.FA_TIPO_CAMB), ISNULL( SUM(T7.IM_DETA_NEGA), 0),                   
   '10'                  
  From  TMDOCC_GENE T4, TCAMAR_ANTC T6, TDAMAR_ANTC T7 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And  T4.TI_DOCU_ANTC = 'B'                  
  And    T7.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T4.CO_ESTA_DOCU != 'ANU'                   
                  
  AND  T6.TI_SITU = 'ACT'                  
  AND  T4.CO_EMPR = T6.CO_EMPR                  
  And    T4.CO_CLAV = T6.CO_BANC+T6.NU_CNTA_BANC+T6.AA_BNCO+T6.MM_BNCO+T6.NU_COMP_BANC                  
                    
  AND  T6.CO_EMPR = T7.CO_EMPR                  
  AND  T6.CO_UNID_CONC = T7.CO_UNID_CONC                  
  AND   T6.NU_AMAR = T7.NU_AMAR                  
  AND   T6.FE_AMAR = T7.FE_AMAR                  
  GROUP BY T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T4.CO_MONE,T4.CO_CLAV, T7.FE_AMAR ")                  
                  
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  Select T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T7.FE_AMAR,                  
   T4.CO_MONE, MAX(T4.FA_TIPO_CAMB), ISNULL( SUM(T7.IM_DETA_NEGA), 0),                   
   '10'                  
  From  TMDOCC_GENE T4, TCAMAR_ANTC T6, TDAMAR_ANTC T7 "                  
  + @VSCA_WHER + "                   
  And  T4.TI_DOCU_ANTC = 'C'                  
  And    T7.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T4.CO_ESTA_DOCU != 'ANU'                   
                  
  AND  T6.TI_SITU = 'ACT'                  
  AND  T4.CO_EMPR = T6.CO_EMPR                  
  And    T4.CO_CLAV = T6.CO_CAJA+T6.AA_CAJA+T6.MM_CAJA+T6.NU_COMP_CAJA                  
                    
  AND  T6.CO_EMPR = T7.CO_EMPR                  
  AND  T6.CO_UNID_CONC = T7.CO_UNID_CONC                  
  AND   T6.NU_AMAR = T7.NU_AMAR                  
  AND   T6.FE_AMAR = T7.FE_AMAR                  
  GROUP BY T4.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T4.CO_MONE,                   
    T4.CO_CLAV, T7.FE_AMAR ")                  
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_AMAR,                  
   T4.CO_MONE, T1.FA_TIPO_CAMB, T2.IM_COBR_ORIG, '10'       
  From  TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCU_CLIE T4 (NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T1.CO_EMPR = T4.CO_EMPR                  
  And    T1.FE_AMAR <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T1.TI_SITU = 'ACT'                  
  AND    T2.CO_TIDO_ORIG = T4.CO_TIPO_DOCU                   
  AND    T2.NU_DOCU_ORIG = T4.NU_DOCU_CLIE                   
  AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.NU_AMAR = T2.NU_AMAR                  
  AND    T1.FE_AMAR = T2.FE_AMAR                  
  AND    T2.CO_EMPR = T4.CO_EMPR                  
  AND    T1.CO_CLIE = T4.CO_CLIE                  
  AND   T4.CO_TIPO_DOCU = T5.TI_DOCU                  
  AND  T5.ST_DOCU_0004 = 'S' ")                  
                  
--APLICACIONES DE NOTAS DE CREDITO                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
                  
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_AMAR,                  
   T4.CO_MONE, T1.FA_TIPO_CAMB,                   
 (PATINDEX(T2.ST_CIER_DOCU, 'N') * T2.IM_COBR_DEST +                   
 PATINDEX(T2.ST_CIER_DOCU, 'S') * T2.IM_SALD_DEST) * -1, '10'                  
  From  TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCC_GENE T4 (NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'N'                  
  AND  T1.CO_EMPR =   T4.CO_EMPR                  
  And    T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T1.TI_SITU = 'ACT'                  
  AND    T2.CO_TIDO_DEST = T4.CO_TIPO_DOCU                   
  AND    T2.NU_DOCU_DEST = T4.NU_DOCU_CLIE                   
  AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.NU_AMAR = T2.NU_AMAR                  
  AND    T1.FE_AMAR = T2.FE_AMAR                  
  AND    T2.CO_EMPR = T4.CO_EMPR                  
  AND    T1.CO_CLIE = T4.CO_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU                  
  AND  T5.ST_DOCU_0004 = 'N'  ")                  
                  
END                  
ELSE                  
BEGIN                  
--1.- LETRAS DEL MES                  
    EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
    (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_COBR,                   
    CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_LETR, TI_DETA)                  
    Select T4.CO_EMPR, T4.CO_TIPO_DOCU , T4.NU_DOCU_CLIE , T4.CO_CLIE, T4.FE_EMIS, T4.FE_PROG_COBR,                   
    T4.CO_MONE, T4.FA_TIPO_CAMB, T4.FA_CAMB_EXTR, ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N'))*T4.IM_TOTA,      
            
   '1'                  
    From  TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T2 "                  
    + @VSCA_WHER + "             
    And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
    And T4.TI_DOCU_ANTC = 'N'                  
    And T4.FE_EMIS <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
    And T4.CO_ESTA_DOCU != 'ANU'                  
AND T4.CO_TIPO_DOCU = T2.TI_DOCU")                  
                  
/* PARA LETRAS DE SALDOS INICIALES                  
  INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_LETR, TI_DETA)                  
  Select T1.CO_EMPR, 'LET', T1.NU_LETR_CLIE, T1.CO_CLIE, T1.FE_EMIS,                  
   T1.CO_MONE, T1.FA_TIPO_CAMB, T1.IM_TOTA, '1B'                  
  From  TMLETR_CLIE T1--, OFIVENT..TMCLIE T3                  
  Where T1.CO_EMPR = '" + @ISCO_EMPR + "'                    AND  ((@ISCO_CLIE IS NOT NULL AND T1.CO_CLIE = @ISCO_CLIE) OR 
@ISCO_CLIE IS NULL)                   
  AND  T1.FE_EMIS < '2001/08/01'                  
  AND   T1.CO_ESTA_DOCU != 'ANU'                  
*/                  
             
--2.- COBRANZAS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_COBR, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_CANJ,                   
  T4.CO_MONE, T1.FA_TIPO_CAMB,                   
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*T2.IM_CANJ_MDOC,                  
  '2'                  
  From  TCCANJ_CLIE T1 , TDCANJ_CLIE T2, TMDOCC_GENE T4, TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And  T4.TI_DOCU_ANTC = 'N'                  
  And    T1.CO_EMPR =   T4.CO_EMPR                  
  And    T1.FE_CANJ  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T1.TI_SITU != 'ANU'                  
  AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.CO_CLIE = T2.CO_CLIE                  
  AND    T1.NU_CANJ = T2.NU_CANJ                  
  AND    T1.FE_CANJ = T2.FE_CANJ                  
  AND    T2.CO_EMPR = T4.CO_EMPR                  
  AND    T2.CO_CLIE = T4.CO_CLIE                  
  AND    T2.CO_TIPO_DOCU = T4.CO_TIPO_DOCU                  
  AND    T2.NU_DOCU_CLIE = T4.NU_DOCU_CLIE                   
  AND    T2.CO_TIPO_DOCU = T5.TI_DOCU                    
  AND    T4.CO_ESTA_DOCU != 'ANU' ")                  
                  
                  
--5.- CANCELACION POR RENOVACION DE LETRAS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_RENO,                  
  T4.CO_MONE, T1.FA_TIPO_CAMB, ( PatIndex(T5.ST_SIGN,'N') - PatIndex(T5.ST_SIGN,'S') ) * T2.IM_RENO_MDOC, '5C'          
        
  From   TCRENO_CLIE T1 , TDRENO_CLIE T2, TMDOCC_GENE T4, TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And T4.TI_DOCU_ANTC = 'N'                  
  AND  T1.CO_EMPR =   T4.CO_EMPR                  
  And    T1.FE_RENO  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T1.TI_SITU != 'ANU'                  
  AND   T2.TI_SITU != 'ANU'                  
AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND   T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.CO_CLIE = T2.CO_CLIE                  
  AND    T1.NU_RENO = T2.NU_RENO                  
  AND    T2.CO_CLIE = T4.CO_CLIE                  
  AND    T2.CO_TIPO_DOCU = T4.CO_TIPO_DOCU                  
  AND    T2.NU_DOCU_CLIE = T4.NU_DOCU_CLIE               
  AND  T4.CO_ESTA_DOCU != 'ANU'                  
  AND   T4.CO_TIPO_DOCU = T5.TI_DOCU ")                  
                  
                  
--6.- RENOVACIONES DE LETRAS                  
/*  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_RENO, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_RENO,                  
  T4.CO_MONE, T1.FA_TIPO_CAMB, T4.IM_TOTA, '6'                  
  From   TCRENO_CLIE T1 , TDRENO_CLIE T2, TMDOCC_GENE T4 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  And T4.TI_DOCU_ANTC = 'N'                  
  AND T1.CO_EMPR = T4.CO_EMPR                  
  And   T1.FE_RENO <=  Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND   T1.TI_SITU != 'ANU'                  
  AND   T2.TI_SITU != 'ANU'                  
  AND   T1.CO_EMPR = T2.CO_EMPR                    
  AND   T1.CO_CLIE = T2.CO_CLIE                  
  AND   T1.NU_RENO = T2.NU_RENO                  
  AND   T2.CO_CLIE = T4.CO_CLIE                  
  AND   T2.NU_LETR_CLIE = T4.NU_DOCU_CLIE                  
  AND T4.CO_ESTA_DOCU != 'ANU' ")                   
  AND NOT EXISTS (  SELECT T3.NU_LETR_CLIE                  
   FROM TMLETR_CLIE T3                  
   WHERE T2.CO_EMPR = T3.CO_EMPR                    
    AND   T2.CO_CLIE = T3.CO_CLIE                  
   AND   T2.NU_LETR_CLIE = T3.NU_LETR_CLIE                  
   AND   T3.FE_EMIS < '2001/08/01'                  
     AND   T3.CO_ESTA_DOCU != 'ANU')" )                  
*/ --PARA LETRAS DE SALDOS INICIALES                  
                  
                  
--APLICACIONES DE NOTAS DE CREDITO                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                  
  SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.FE_AMAR,                  
   T4.CO_MONE, T1.FA_TIPO_CAMB,                   
 (PATINDEX(T2.ST_CIER_DOCU, 'N') * T2.IM_COBR_DEST +                   
 PATINDEX(T2.ST_CIER_DOCU, 'S') * T2.IM_SALD_DEST) * -1, '10'                  
  From  TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCC_GENE T4 (NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'N'                  
  AND  T1.CO_EMPR =   T4.CO_EMPR                  
  AND  T4.CO_TIPO_DOCU != '" + @OSTI_DOCU_NCRE + "'                  
  And    T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T1.TI_SITU = 'ACT'                  
  AND    T2.CO_TIDO_DEST = T4.CO_TIPO_DOCU                   
  AND    T2.NU_DOCU_DEST = T4.NU_DOCU_CLIE                   
  AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.NU_AMAR = T2.NU_AMAR                  
  AND    T1.FE_AMAR = T2.FE_AMAR                  
  AND    T2.CO_EMPR = T4.CO_EMPR         
  AND    T1.CO_CLIE = T4.CO_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU ")                  
                  
END                  
                  
                  
--3.- PAGOS BANCOS                    
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
 CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_COBR, TI_DETA)                  
  Select T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T2.FE_OPER,                  
  T4.CO_MONE, T2.FA_TIPO_CAMB, T1.FA_CAMB_EXTR,                   
  (( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI_BANC,'I')-                  
  ( PatIndex(T5.ST_SIGN,'N') - PatIndex(T5.ST_SIGN,'S') )*PatIndex(T1.TI_MOVI_BANC,'E')) *                  
  T1.IM_CONV_DOCU,                  
  '3'                  
  From  TDMOVI_BANC T1, TCMOVI_BANC T2, TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'N'                  
  And    T1.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T2.TI_SITU = 'ACT'       
  And    T1.CO_EMPR = T2.CO_EMPR                    
  And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
  And    T1.CO_BANC = T2.CO_BANC                    
  And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC                    
  And    T1.AA_BNCO = T2.AA_BNCO                  
  And    T1.MM_BNCO = T2.MM_BNCO                   
  And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC                   
  And    T1.NU_COMP_BANC = T2.NU_COMP_BANC                  
  AND   T1.CO_EMPR = T4.CO_EMPR                  
  AND   T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU                  
  AND   T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE                  
  AND   RTRIM(LTRIM(T1.CO_CNTA_EMPR)) = ''  
  AND   RTRIM(LTRIM(T1.TI_MOVI_OPER)) = ''  
  AND   T4.CO_TIPO_DOCU = T5.TI_DOCU                  
  AND   T4.CO_ESTA_DOCU != 'ANU'                  
  AND   NOT EXISTS ( SELECT T6.CO_EMPR                  
   FROM TTTIOP_AJUS T6                  
   WHERE T6.CO_EMPR = T2.CO_EMPR                  
     AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                  
                  
--4.- PAGOS CAJA                  
                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, FA_CAMB_EXTR, IM_COBR, TI_DETA)                  
  Select T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T2.FE_OPER,                  
  T4.CO_MONE, T2.FA_TIPO_CAMB, 1,                   
  (( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI,'I')-                  
  ( PatIndex(T5.ST_SIGN,'N') - PatIndex(T5.ST_SIGN,'S') )*PatIndex(T1.TI_MOVI,'E')) *                  
  T1.IM_CONV_DOCU,                  
  '4'                  
  From   TDMOVI_CAJA T1, TCMOVI_CAJA T2, TMDOCC_GENE T4 WITH(NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'N'                  
  And    T1.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  And    T2.FE_OPER  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  And    T2.TI_SITU != 'ANU'                   
  And    T1.CO_EMPR = T2.CO_EMPR                    
  And    T1.CO_CAJA = T2.CO_CAJA                  
  And    T1.AA_CAJA = T2.AA_CAJA                  
  And    T1.MM_CAJA = T2.MM_CAJA                   
  And    T1.TI_MOVI = T2.TI_MOVI                  
  And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA                  
  And T1.CO_EMPR = T4.CO_EMPR                  
  AND T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU                  
  And T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE                  
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU                  
  AND   T4.CO_ESTA_DOCU != 'ANU'                  
  AND   NOT EXISTS ( SELECT T6.CO_EMPR                  
   FROM TTTIOP_AJUS T6                  
   WHERE T6.CO_EMPR = T2.CO_EMPR                  
     AND  T6.CO_TIPO_OPER = T2.CO_TIPO_OPER)")                  
                       
                  
--10.- APLICACIONES                  
  --DOCUMENTOS A LOS QUE SE APLICAN LOS ANTICIPOS                  
  EXECUTE("INSERT INTO #TWDOCU_CLIE_Q36_1                   
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_APLI, TI_DETA)                  
  Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T1.FE_AMAR,                   
   T4.CO_MONE, T2.FA_TIPO_CAMB,                   
 PatIndex(T1.ST_CIER_DOCU, 'N') * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )  * ISNULL(T1.IM_CONV_DOCU,0)* 
-1 +                   
 PatIndex(T1.ST_CIER_DOCU, 'S') * ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )  * ISNULL(T1.IM_SALD_DOCU,0)* 
-1,                   
 '10'                  
  From  TDAMAR_ANTC T1, TCAMAR_ANTC T2, TMDOCC_GENE T4 (NOLOCK), TTDOCU_CNTB T5 "                  
  + @VSCA_WHER + "                   
  And T4.CO_EMPR =  '" + @ISCO_EMPR + "'                  
  AND  T4.TI_DOCU_ANTC = 'N'                  
  And    T1.FE_AMAR  <= Convert(Datetime, '" + @VSFE_FINA + "', 103)                  
  AND    T2.TI_SITU != 'ANU'                  
  AND    T1.CO_EMPR = T2.CO_EMPR                  
  AND    T1.CO_UNID_CONC = T2.CO_UNID_CONC                  
  AND    T1.NU_AMAR = T2.NU_AMAR                  
  AND    T1.FE_AMAR = T2.FE_AMAR                  
  AND  T1.CO_EMPR = T4.CO_EMPR                  
  AND    T1.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  AND    T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU                   
  AND    T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE           
  AND  T4.CO_ESTA_DOCU != 'ANU'                   
  AND  T4.CO_TIPO_DOCU = T5.TI_DOCU ")                  
                  
                  
  INSERT INTO #TWDOCU_CLIE_Q36_1                  
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                  
  SELECT T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_CLIE, MAX(T3.FE_OPER),                  
  MAX(T1.CO_MONE), MAX(T3.FA_TIPO_CAMB), MAX(T2.IM_SALD_DOCU) - MAX(T2.IM_CONV_DOCU), '4A'                  
  FROM #TWDOCU_CLIE_Q36_1 T1, TDMOVI_BANC T2, TCMOVI_BANC T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND    T2.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  AND    T1.CO_CLIE = T2.CO_ENTI                   
  AND    T1.CO_TIPO_DOCU = T2.TI_DOCU_ENTI                  
  AND    T1.NU_DOCU_CLIE = T2.NU_DOCU_ENTI                  
  AND    (T2.IM_CONV_DOCU < T2.IM_SALD_DOCU                  
  OR    T2.IM_CONV_DOCU > T2.IM_SALD_DOCU )                  
  AND    T2.ST_CIER_DOCU = 'S'                  
  AND    T3.FE_OPER <= @IDFE_FINA                  
  AND    T1.CO_EMPR = T3.CO_EMPR                  
  AND    T2.CO_EMPR = T3.CO_EMPR                    
  AND    T2.CO_UNID_CONC = T3.CO_UNID_CONC
  AND    T2.CO_BANC = T3.CO_BANC                    
  AND    T2.NU_CNTA_BANC  = T3.NU_CNTA_BANC                  
  AND    T2.AA_BNCO = T3.AA_BNCO                  
  AND    T2.MM_BNCO = T3.MM_BNCO                   
  AND    T2.TI_MOVI_BANC  = T3.TI_MOVI_BANC                   
  AND    T2.NU_COMP_BANC = T3.NU_COMP_BANC                  
  AND    T3.TI_SITU = 'ACT'                  
  GROUP BY T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_CLIE                  
                  
  INSERT INTO #TWDOCU_CLIE_Q36_1                  
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS,                  
  CO_MONE, FA_TIPO_CAMB, IM_AJUS, TI_DETA)                  
  SELECT T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_CLIE, MAX(T3.FE_OPER),                  
  MAX(T1.CO_MONE), MAX(T3.FA_TIPO_CAMB),                   
  ( PatIndex(MAX(T5.ST_SIGN),'S') - PatIndex(MAX(T5.ST_SIGN),'N') ) * (MAX(T2.IM_SALD_DOCU) - MAX(T2.IM_CONV_DOCU)),      
            
 '4A'                  
  FROM #TWDOCU_CLIE_Q36_1 T1, TDMOVI_CAJA T2, TCMOVI_CAJA T3, TTDOCU_CNTB T5                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND    T2.TI_ENTI = '" + @ISTI_AUXI_CLIE + "'                  
  AND    T1.CO_CLIE = T2.CO_ENTI                   
  AND    T1.CO_TIPO_DOCU = T2.TI_DOCU_ENTI                  
  AND    T1.NU_DOCU_CLIE = T2.NU_DOCU_ENTI                  
  AND    (T2.IM_CONV_DOCU < T2.IM_SALD_DOCU                  
  OR     T2.IM_CONV_DOCU > T2.IM_SALD_DOCU )                  
  AND    T2.ST_CIER_DOCU = 'S'              
  AND    T3.FE_OPER <= @IDFE_FINA                  
  AND    T1.CO_EMPR = T3.CO_EMPR                  
  AND    T2.CO_EMPR = T3.CO_EMPR                    
  AND    T2.CO_CAJA = T3.CO_CAJA                  
  AND    T2.AA_CAJA = T3.AA_CAJA                  
  AND    T2.MM_CAJA = T3.MM_CAJA                   
  AND    T2.TI_MOVI  = T3.TI_MOVI                   
  AND    T2.NU_COMP_CAJA = T3.NU_COMP_CAJA                  
  AND    T3.TI_SITU = 'ACT'                  
  AND    T1.CO_TIPO_DOCU = T5.TI_DOCU                  
  GROUP BY T1.CO_EMPR, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_CLIE                  
                  
--SELECT 'PRUEBA1', * FROM #TWDOCU_CLIE_Q36_1                
                
                
UPDATE  #TWDOCU_CLIE_Q36_1                  
SET IM_VENT = ROUND(dbo.FN_TCFACT_CAMB_Q03(T1.CO_MONE, @ISCO_MONE, T1.IM_VENT,                   
    T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB, T1.FA_CAMB_EXTR), 2),                   
 IM_CHED = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_CHED,                   
    T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                   
 IM_COBR = ROUND(dbo.FN_TCFACT_CAMB_Q03(T1.CO_MONE, @ISCO_MONE, T1.IM_COBR,                   
    T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB, T1.FA_CAMB_EXTR), 2),                   
 IM_LETR = ROUND(dbo.FN_TCFACT_CAMB_Q03(T1.CO_MONE, @ISCO_MONE, T1.IM_LETR,                   
    T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB, T1.FA_CAMB_EXTR), 2),                   
 IM_RENO = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_RENO,                   
    T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                   
 IM_ANTC = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_ANTC,                   
    T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                   
 IM_APLI = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_APLI,                   
    T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB), 2),                   
 IM_AJUS = ROUND(dbo.FN_TCFACT_CAMB_Q02(T1.CO_MONE, @ISCO_MONE, T1.FE_EMIS,  T1.IM_AJUS,                   
    T2.TI_CAMB, T2.TI_ORIG, 'S', T2.CO_MONE_DEFA, T2.CO_MONE_EXTR, T1.FA_TIPO_CAMB), 2)                  
FROM  #TWDOCU_CLIE_Q36_1 T1, TMPARA_TESO T2                  
WHERE  T1.CO_EMPR = T2.CO_EMPR                  
AND    T1.CO_MONE != @ISCO_MONE                  
 

             
--SELECT 'PRUEBA2', * FROM #TWDOCU_CLIE_Q36_1                
                  
--SELECT * FROM #TWDOCU_CLIE_Q36_1                  
--ORDER BY CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE                    
                  
-- SALDOS INICIALES                  
IF @ISTI_DOCU = 'R'                  
INSERT INTO #TWDOCU_CLIE_Q36_2(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_SAIN)                   
 SELECT T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, MAX(T1.CO_MONE), SUM(ISNULL(T1.IM_VENT,0)) +                
   
 SUM(ISNULL(T1.IM_CHED,0)) - SUM(ISNULL(T1.IM_COBR,0)) - SUM(ISNULL(T1.IM_LETR,0)) -                   
 SUM(ISNULL(T1.IM_ANTC,0)) + SUM(ISNULL(T1.IM_APLI,0)) - SUM(ISNULL(T1.IM_AJUS,0))                   
   FROM #TWDOCU_CLIE_Q36_1 T1 --(INDEX = IX_#TWDOCU_CLIE_Q36_1)                  
   WHERE T1.FE_EMIS < @IDFE_INIC                  
 GROUP BY T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  
ELSE                  
 INSERT INTO #TWDOCU_CLIE_Q36_2(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_SAIN)                   
 SELECT T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, MAX(T1.CO_MONE), SUM(ISNULL(T1.IM_LETR,0)) +                
  
 SUM(ISNULL(T1.IM_RENO,0)) - SUM(ISNULL(T1.IM_COBR,0)) +                   
 SUM(ISNULL(T1.IM_APLI,0)) - SUM(ISNULL(T1.IM_AJUS,0))                  
 FROM #TWDOCU_CLIE_Q36_1 T1 --(INDEX = IX_#TWDOCU_CLIE_Q36_2)                  
 WHERE T1.FE_EMIS < @IDFE_INIC                  
 GROUP BY T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  
                
                  
INSERT INTO #TWDOCU_CLIE_Q36_2A(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, IM_SAIN)                   
SELECT T4.CO_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU,               
ROUND(SUM(dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, @ISCO_MONE, T4.FE_ASTO_CNTB, ISNULL((PATINDEX(T4.TI_OPER, 'ABO')* 
T4.IM_MVTO_CNTB) - (PATINDEX(T4.TI_OPER, 'CAR')* T4.IM_MVTO_CNTB),0),             
        'V', 'O', 'S', @CSCO_MONE_DEFA, @CSCO_MONE_EXTR,  T4.FA_CAMB)), 2)       
 FROM  #TWTXMVTO_DIFE T4       
  WHERE T4.CO_EMPR = @ISCO_EMPR                  
  AND  (CONVERT(VARCHAR(4),T4.NU_ANNO) < @VSNU_ANNO_INIC                  
  OR  (CONVERT(VARCHAR(4),T4.NU_ANNO) = @VSNU_ANNO_INIC                  
  AND  CONVERT(VARCHAR(2),T4.NU_MESE) < @VSNU_MESE_INIC))                  
  AND   T4.CO_MONE != @ISCO_MONE    
 GROUP BY T4.CO_EMPR, T4.TI_AUXI_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU                  
    
    
    
UPDATE #TWDOCU_CLIE_Q36_2A                
SET IM_SAIN = 0    
 FROM #TWDOCU_CLIE_Q36_2A T1, #TWDOCU_CLIE_Q36_1 T2                  
 WHERE T1.CO_EMPR = T2.CO_EMPR                   
 AND   T1.CO_CLIE = T2.CO_CLIE                   
 AND   T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                   
 AND   T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE      
AND    T2.CO_MONE = @ISCO_MONE               
     
                  
                 
 UPDATE #TWDOCU_CLIE_Q36_2                
 SET IM_SAIN = T1.IM_SAIN + T2.IM_SAIN                   
 FROM #TWDOCU_CLIE_Q36_2 T1, #TWDOCU_CLIE_Q36_2A T2                  
 WHERE T1.CO_EMPR = T2.CO_EMPR                   
 AND   T1.CO_CLIE = T2.CO_CLIE                   
 AND   T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                   
 AND   T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE                 
                  
UPDATE  #TWDOCU_CLIE_Q36_2                  
SET  IM_SAIN = 0                  
WHERE  @ISCO_MONE != 'DOL'           
AND    @ISCO_MONE != 'EUR'                
AND ABS(IM_SAIN) <= 0.02                  
AND  ABS(IM_SAIN) > 0                  
                
              
INSERT INTO #TWDOCU_CLIE_Q36_3(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_SAIN,                  
 IM_VENT, IM_CHED, IM_COBR, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_RENO, IM_AJUS_DICA)                  
SELECT  T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, MAX(T1.CO_MONE), MAX(T2.IM_SAIN), 
SUM(ISNULL(T1.IM_VENT,0)),                  
 SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_COBR,0)), SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)),                  
 
 SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)), SUM(ISNULL(T1.IM_RENO,0)),  IsNull(Max(T5.IM_MVTO_CONT),0)
FROM #TWDOCU_CLIE_Q36_1 T1                  
LEFT OUTER JOIN  
(SELECT T4.CO_EMPR CO_EMPR, T4.CO_AUXI_EMPR CO_AUXI_EMPR, T4.TI_DOCU TI_DOCU, T4.NU_DOCU NU_DOCU, 
ROUND(SUM(dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, @ISCO_MONE, T4.FE_ASTO_CNTB, ISNULL((PATINDEX(T4.TI_OPER, 'ABO')* 
T4.IM_MVTO_CNTB) - (PATINDEX(T4.TI_OPER, 'CAR
')* T4.IM_MVTO_CNTB),0),             
        'V', 'O', 'S',@CSCO_MONE_DEFA, @CSCO_MONE_EXTR,  T4.FA_CAMB)), 2)    IM_MVTO_CONT  
FROM  #TWTXMVTO_DIFE T4    
 WHERE T4.CO_EMPR = @ISCO_EMPR         
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO) > @VSNU_ANNO_INIC OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_INIC AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  >= @VSNU_MESE_INIC))                
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO)  < @VSNU_ANNO_FINA  OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_FINA AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  <= @VSNU_MESE_FINA))                               
 GROUP BY T4.CO_EMPR, T4.TI_AUXI_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU) T5      
ON  T5.CO_EMPR = T1.CO_EMPR  
AND T5.CO_AUXI_EMPR = T1.CO_CLIE  
AND T5.TI_DOCU = T1.CO_TIPO_DOCU  
AND T5.NU_DOCU = T1.NU_DOCU_CLIE  
INNER JOIN #TWDOCU_CLIE_Q36_2 T2  
ON T1.CO_CLIE = T2.CO_CLIE                  
AND  T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                  
AND  T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE                  
WHERE  T1.FE_EMIS >= @IDFE_INIC                  
GROUP BY T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE    

                 
               
INSERT INTO #TWDOCU_CLIE_Q36_3(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_SAIN,                  
 IM_VENT, IM_CHED, IM_COBR, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_RENO, IM_AJUS_DICA)                  
SELECT T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.CO_MONE, T1.IM_SAIN, 0,                  
0, 0, 0, 0, 0, 0, 0, IsNull(T5.IM_MVTO_CONT,0)
FROM #TWDOCU_CLIE_Q36_2 T1                  
LEFT OUTER JOIN  
(SELECT T4.CO_EMPR CO_EMPR, T4.CO_AUXI_EMPR CO_AUXI_EMPR, T4.TI_DOCU TI_DOCU, T4.NU_DOCU NU_DOCU, 
ROUND(SUM(dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, @ISCO_MONE, T4.FE_ASTO_CNTB, ISNULL((PATINDEX(T4.TI_OPER, 'ABO')* 
T4.IM_MVTO_CNTB) - (PATINDEX(T4.TI_OPER, 'CAR'
)* T4.IM_MVTO_CNTB),0),             
        'V', 'O', 'S',@CSCO_MONE_DEFA, @CSCO_MONE_EXTR,  T4.FA_CAMB)), 2)    IM_MVTO_CONT  
FROM  #TWTXMVTO_DIFE T4    
 WHERE T4.CO_EMPR = @ISCO_EMPR         
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO) > @VSNU_ANNO_INIC OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_INIC AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  >= @VSNU_MESE_INIC))                
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO)  < @VSNU_ANNO_FINA  OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_FINA AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  <= @VSNU_MESE_FINA))                              
 GROUP BY T4.CO_EMPR, T4.TI_AUXI_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU) T5      
ON  T5.CO_EMPR = T1.CO_EMPR  
AND T5.CO_AUXI_EMPR = T1.CO_CLIE  
AND T5.TI_DOCU = T1.CO_TIPO_DOCU  
AND T5.NU_DOCU = T1.NU_DOCU_CLIE                  
WHERE  NOT EXISTS ( SELECT  T3.CO_EMPR, T3.CO_CLIE, T3.CO_TIPO_DOCU, T3.NU_DOCU_CLIE            
   FROM  #TWDOCU_CLIE_Q36_1 T3               
   WHERE  T1.CO_EMPR = T3.CO_EMPR                  
   AND T1.CO_CLIE = T3.CO_CLIE                  
   AND  T1.CO_TIPO_DOCU = T3.CO_TIPO_DOCU                  
   AND  T1.NU_DOCU_CLIE = T3.NU_DOCU_CLIE                  
   AND T3.FE_EMIS >= @IDFE_INIC )                  



--SELECT 'ERNESTO1', * FROM #TWDOCU_CLIE_Q36_1                
               
INSERT INTO #TWDOCU_CLIE_Q36_3(CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_SAIN,                  
 IM_VENT, IM_CHED, IM_COBR, IM_LETR, IM_ANTC, IM_APLI, IM_AJUS, IM_RENO, IM_AJUS_DICA)                  
SELECT  T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, MAX(T1.CO_MONE), 0, SUM(ISNULL(T1.IM_VENT,0)),              
    
 SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_COBR,0)), SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)),                  
 
 SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)), SUM(ISNULL(T1.IM_RENO,0)), IsNull(Max(T5.IM_MVTO_CONT),0)
FROM #TWDOCU_CLIE_Q36_1 T1                  
LEFT OUTER JOIN  
(SELECT T4.CO_EMPR CO_EMPR, T4.CO_AUXI_EMPR CO_AUXI_EMPR, T4.TI_DOCU TI_DOCU, T4.NU_DOCU NU_DOCU, 
ROUND(SUM(dbo.FN_TCFACT_CAMB_Q02(T4.CO_MONE, @ISCO_MONE, T4.FE_ASTO_CNTB, ISNULL((PATINDEX(T4.TI_OPER, 'ABO')* 
T4.IM_MVTO_CNTB) - (PATINDEX(T4.TI_OPER, 'CAR'
)* T4.IM_MVTO_CNTB),0),             
        'V', 'O', 'S',@CSCO_MONE_DEFA, @CSCO_MONE_EXTR,  T4.FA_CAMB)), 2)    IM_MVTO_CONT  
FROM  #TWTXMVTO_DIFE T4    
 WHERE T4.CO_EMPR = @ISCO_EMPR         
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO) > @VSNU_ANNO_INIC OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_INIC AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  >= @VSNU_MESE_INIC))                
 AND  (CONVERT(VARCHAR(4),T4.NU_ANNO)  < @VSNU_ANNO_FINA  OR  (CONVERT(VARCHAR(4),T4.NU_ANNO)  = @VSNU_ANNO_FINA AND  
CONVERT(VARCHAR(2),T4.NU_MESE)  <= @VSNU_MESE_FINA))                            
 GROUP BY T4.CO_EMPR, T4.TI_AUXI_EMPR, T4.CO_AUXI_EMPR, T4.TI_DOCU, T4.NU_DOCU) T5      
ON  T5.CO_EMPR = T1.CO_EMPR  
AND T5.CO_AUXI_EMPR = T1.CO_CLIE  
AND T5.TI_DOCU = T1.CO_TIPO_DOCU  
AND T5.NU_DOCU = T1.NU_DOCU_CLIE  
WHERE  T1.FE_EMIS >= @IDFE_INIC                  
AND NOT EXISTS ( SELECT  T3.CO_EMPR, T3.CO_CLIE, T3.CO_TIPO_DOCU, T3.NU_DOCU_CLIE                  
   FROM  #TWDOCU_CLIE_Q36_2 T3                 
   WHERE  T1.CO_EMPR = T3.CO_EMPR                  
   AND T1.CO_CLIE = T3.CO_CLIE                  
   AND  T1.CO_TIPO_DOCU = T3.CO_TIPO_DOCU                  
   AND  T1.NU_DOCU_CLIE = T3.NU_DOCU_CLIE)                  
GROUP BY T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  

                  
--SELECT 'ERNESTO2', * FROM #TWDOCU_CLIE_Q36_3                
                  
DELETE  #TWDOCU_CLIE_Q36_3                  
WHERE  IM_SAIN = 0                  
AND IM_VENT = 0                  
AND IM_CHED = 0                  
AND IM_COBR = 0                  
AND IM_LETR = 0                  
AND IM_RENO = 0                  
AND IM_ANTC = 0                  
AND IM_APLI = 0                  
AND IM_AJUS = 0                  
AND IM_AJUS_DICA = 0                  
                  
                  
IF @ISTI_DOCU = 'R'                  
  BEGIN                  
 UPDATE #TWDOCU_CLIE_Q36_3                  
 SET IM_SAIN = -IM_VENT - IM_CHED + IM_COBR + IM_LETR + IM_ANTC + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
 WHERE @ISCO_MONE != 'DOL'                  
 AND   @ISCO_MONE != 'EUR'                
 AND   ABS(IM_SAIN + IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC - IM_AJUS +                  
       IM_APLI + IM_AJUS_DICA ) <= 0.02                  
 AND   ABS(IM_SAIN + IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC - IM_AJUS +                  
       IM_APLI + IM_AJUS_DICA )  > 0                  
                  
                  
 DECLARE CU_#TWDOCU_CLIE_Q36_3 CURSOR FOR                   
 SELECT  CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, IM_VENT, IM_CHED, IM_COBR, IM_LETR, IM_ANTC, IM_AJUS, IM_APLI          
        
 FROM  #TWDOCU_CLIE_Q36_3                  
 WHERE  @ISCO_MONE != 'DOL'                  
 AND    @ISCO_MONE != 'EUR'                  
 AND IM_SAIN = 0                  
 AND ABS(IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC + IM_APLI - IM_AJUS + IM_AJUS_DICA) <= 0.02                  
 AND ABS(IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC + IM_APLI - IM_AJUS + IM_AJUS_DICA) > 0                  
                  
   -- PARA CUADRAR LOS MONTOS                  
   Open CU_#TWDOCU_CLIE_Q36_3                  
   FETCH CU_#TWDOCU_CLIE_Q36_3 INTO @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CNIM_VENT ,                   
    @CNIM_CHED, @CNIM_COBR, @CNIM_LETR, @CNIM_ANTC, @CNIM_AJUS, @CNIM_APLI                  
   WHILE (@@FETCH_STATUS = 0)                  
   BEGIN                  
      IF (@@FETCH_STATUS < 0)                  
      Begin                  
   RAISERROR 20001 'FIN DE ARCHIVO'                  
   CLOSE CU_#TWDOCU_CLIE_Q36_3                  
   DEALLOCATE CU_#TWDOCU_CLIE_Q36_3                  
   RETURN                  
      End                  
                   
  IF ABS(@CNIM_VENT) > 0                  
    UPDATE #TWDOCU_CLIE_Q36_3                  
    SET  IM_VENT = - IM_CHED + IM_COBR + IM_LETR + IM_ANTC + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
    WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
  ELSE                  
    IF @CNIM_CHED > 0                  
      UPDATE #TWDOCU_CLIE_Q36_3                  
      SET IM_CHED = - IM_VENT + IM_COBR + IM_LETR + IM_ANTC + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
      WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
    ELSE                  
      IF ABS(@CNIM_COBR) > 0                  
        UPDATE #TWDOCU_CLIE_Q36_3                  
        SET IM_COBR = IM_VENT + IM_CHED - IM_LETR - IM_ANTC - IM_AJUS + IM_APLI + IM_AJUS_DICA                  
        WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
      ELSE                  
        IF ABS(@CNIM_LETR) > 0                  
          UPDATE #TWDOCU_CLIE_Q36_3                  
          SET IM_LETR = IM_VENT + IM_CHED - IM_COBR - IM_ANTC - IM_AJUS + IM_APLI + IM_AJUS_DICA                  
          WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
        ELSE                  
         IF @CNIM_ANTC > 0                  
            UPDATE #TWDOCU_CLIE_Q36_3                  
           SET IM_ANTC = IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_AJUS + IM_APLI + IM_AJUS_DICA                  
            WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
   ELSE                  
           IF @CNIM_AJUS > 0                  
             UPDATE #TWDOCU_CLIE_Q36_3                  
              SET IM_AJUS = IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC + IM_APLI + IM_AJUS_DICA                  
              WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
                  
                  
      FETCH CU_#TWDOCU_CLIE_Q36_3 INTO @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CNIM_VENT ,                 
  
     @CNIM_CHED, @CNIM_COBR, @CNIM_LETR, @CNIM_ANTC, @CNIM_AJUS, @CNIM_APLI                  
   END                  
                  
 CLOSE CU_#TWDOCU_CLIE_Q36_3                  
 DEALLOCATE CU_#TWDOCU_CLIE_Q36_3                  
                  
 UPDATE #TWDOCU_CLIE_Q36_3                  
 SET IM_CONV = IM_SAIN + IM_VENT + IM_CHED - IM_COBR - IM_LETR - IM_ANTC - IM_AJUS + IM_APLI                  
                  
/* UPDATE #TWDOCU_CLIE_Q36_3                  
 SET CO_MONE = T2.CO_MONE                  
 FROM #TWDOCU_CLIE_Q36_3 T1, TMDOCU_CLIE T2 WITH(NOLOCK)                  
 WHERE T1.CO_EMPR = T2.CO_EMPR                  
 AND T1.CO_CLIE = T2.CO_CLIE                  
 AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                  
 AND T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE                  
*/                  
 SELECT @VNNU_NULL = COUNT(NU_DOCU_CLIE)                  
 FROM #TWDOCU_CLIE_Q36_3                  
 WHERE CO_MONE IS NULL                  
 GROUP BY CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE                  
                  
 IF @VNNU_NULL > 0                  
  BEGIN              
   UPDATE #TWDOCU_CLIE_Q36_3                  
   SET CO_MONE = T2.CO_MONE                  
   FROM #TWDOCU_CLIE_Q36_3 T1, #TWDOCU_CLIE_Q36_1 T2 --(INDEX = IX_#TWDOCU_CLIE_Q36_1)                  
   WHERE T1.CO_EMPR = T2.CO_EMPR                  
   AND T1.CO_CLIE = T2.CO_CLIE                  
   AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                  
   AND T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE                  
   AND ( T2.TI_DETA = '6'                   
   OR  T2.TI_DETA = '7')                  
              
  END              
              
UPDATE #TWDOCU_CLIE_Q36_3              
SET IM_AJUS_DICA = 0              
WHERE CO_MONE  = @ISCO_MONE                       
                  
                  
  IF @ISTI_REPO = 'D' /* ---------  REPORTE DETALLADO ----------*/                  
  BEGIN       
 IF @ISDE_ORDE = '1'                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_CLIE, T3.DE_TIPO_CLIE, T1.CO_CLIE, T3.NO_AUXI,                   
    T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, IM_SAIN, T1.IM_VENT,       
    T1.IM_CHED, T1.IM_COBR, T1.IM_LETR, T1.IM_ANTC, T1.IM_AJUS,  T1.IM_AJUS_DICA,                  
    T1.IM_APLI,   T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                  
  FROM  #TWDOCU_CLIE_Q36_3 T1, TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND  T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  ORDER BY T1.CO_EMPR, T3.TI_CLIE, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  
 ELSE                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_CLIE, T3.DE_TIPO_CLIE, T1.CO_CLIE, T3.NO_AUXI,                   
   T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, IM_SAIN, T1.IM_VENT,                  
   T1.IM_CHED, T1.IM_COBR, T1.IM_LETR, T1.IM_ANTC, T1.IM_AJUS, T1.IM_AJUS_DICA,                   
   T1.IM_APLI,   T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                  
  FROM  #TWDOCU_CLIE_Q36_3 T1, TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND  T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  ORDER BY T1.CO_EMPR, T3.TI_CLIE, T3.NO_AUXI, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  
    END                  
                  
  IF @ISTI_REPO = 'R' /* ---------  REPORTE RESUMIDO ----------*/                  
    BEGIN     
 IF @ISDE_ORDE = '1'                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_CLIE), MAX(T3.DE_TIPO_CLIE), T1.CO_CLIE, T3.NO_AUXI, SUM(ISNULL(IM_SAIN,0)),       
            
   SUM(ISNULL(T1.IM_VENT,0)), SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_COBR,0)),                  
   SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)), SUM(ISNULL(T1.IM_AJUS,0)),  SUM(ISNULL(T1.IM_AJUS_DICA,0)),          
        
   SUM(ISNULL(T1.IM_APLI,0)),                   
   SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                  
  FROM  #TWDOCU_CLIE_Q36_3 T1, TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND  T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_CLIE, T3.NO_AUXI                  
  ORDER BY 1, 3, 5                  
                  
 ELSE                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_CLIE), MAX(T3.DE_TIPO_CLIE), T1.CO_CLIE, T3.NO_AUXI, SUM(ISNULL(IM_SAIN,0)),       
            
   SUM(ISNULL(T1.IM_VENT,0)), SUM(ISNULL(T1.IM_CHED,0)), SUM(ISNULL(T1.IM_COBR,0)),                  
   SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_ANTC,0)), SUM(ISNULL(T1.IM_AJUS,0)), SUM(ISNULL(T1.IM_AJUS_DICA,0)),           
        
   SUM(ISNULL(T1.IM_APLI,0)),                   
   SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                  
  FROM  #TWDOCU_CLIE_Q36_3 T1, TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND  T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_CLIE, T3.NO_AUXI                  
  ORDER BY 1, 3, 6                  
      END                  
END                  
                  
                  
IF @ISTI_DOCU = 'L'                  
BEGIN                  
 UPDATE #TWDOCU_CLIE_Q36_3                  
 SET IM_SAIN = -IM_LETR - IM_RENO + IM_COBR + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
 WHERE @ISCO_MONE != 'DOL'                  
 AND   @ISCO_MONE != 'EUR'                
 AND   ABS(IM_SAIN + IM_LETR + IM_RENO - IM_COBR - IM_AJUS +  IM_APLI + IM_AJUS_DICA ) <= 0.02                  
 AND   ABS(IM_SAIN + IM_LETR + IM_RENO - IM_COBR - IM_AJUS +  IM_APLI + IM_AJUS_DICA )  > 0              
                  
                  
 DECLARE CU_#TWDOCU_CLIE_Q36_3 CURSOR FOR                   
 SELECT  CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, IM_LETR, IM_RENO, IM_COBR, IM_AJUS, IM_APLI                  
 FROM  #TWDOCU_CLIE_Q36_3                   
 WHERE  @ISCO_MONE != 'DOL'                  
 AND    @ISCO_MONE != 'EUR'                
 AND IM_SAIN = 0                  
 AND ABS(IM_LETR + IM_RENO - IM_COBR + IM_APLI - IM_AJUS + IM_AJUS_DICA) <= 0.02                  
 AND ABS(IM_LETR + IM_RENO - IM_COBR + IM_APLI - IM_AJUS + IM_AJUS_DICA) > 0                  
                  
   -- PARA CUADRAR LOS MONTOS                  
   Open CU_#TWDOCU_CLIE_Q36_3                  
   FETCH CU_#TWDOCU_CLIE_Q36_3 INTO @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CNIM_LETR,                   
     @CNIM_RENO, @CNIM_COBR, @CNIM_AJUS, @CNIM_APLI                  
   WHILE (@@FETCH_STATUS = 0)                  
   BEGIN                  
      IF (@@FETCH_STATUS < 0)                  
      Begin                  
   RAISERROR 20001 'FIN DE ARCHIVO'                  
   CLOSE CU_#TWDOCU_CLIE_Q36_3                  
   DEALLOCATE CU_#TWDOCU_CLIE_Q36_3                  
   RETURN                  
      End                  
                   
  IF @CNIM_LETR > 0                  
    UPDATE #TWDOCU_CLIE_Q36_3                  
    SET  IM_LETR = - IM_RENO + IM_COBR + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
    WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
  ELSE                  
    IF @CNIM_RENO > 0                  
      UPDATE #TWDOCU_CLIE_Q36_3                  
      SET IM_RENO = - IM_LETR + IM_COBR + IM_AJUS - IM_APLI + IM_AJUS_DICA * -1                  
      WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
    ELSE                  
      IF @CNIM_COBR > 0                  
        UPDATE #TWDOCU_CLIE_Q36_3                  
        SET IM_COBR = IM_LETR + IM_RENO - IM_AJUS + IM_APLI + IM_AJUS_DICA                  
        WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                  
      ELSE                  
          IF @CNIM_AJUS > 0                  
              UPDATE #TWDOCU_CLIE_Q36_3                  
              SET IM_AJUS = IM_LETR + IM_RENO - IM_COBR + IM_APLI + IM_AJUS_DICA                  
              WHERE CURRENT OF CU_#TWDOCU_CLIE_Q36_3                   
                  
  FETCH CU_#TWDOCU_CLIE_Q36_3 INTO @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CNIM_LETR,                   
     @CNIM_RENO, @CNIM_COBR, @CNIM_AJUS, @CNIM_APLI                  
   END                  
                  
 CLOSE CU_#TWDOCU_CLIE_Q36_3                  
 DEALLOCATE CU_#TWDOCU_CLIE_Q36_3                  
                  
                  
 UPDATE #TWDOCU_CLIE_Q36_3                  
 SET IM_CONV = IM_SAIN + IM_LETR + IM_RENO - IM_COBR - IM_AJUS + IM_APLI                  
                  
 UPDATE #TWDOCU_CLIE_Q36_3                  
 SET CO_MONE = T2.CO_MONE                  
 FROM #TWDOCU_CLIE_Q36_3 T1, TMLETR_CLIE T2                  
 WHERE T1.CO_EMPR = T2.CO_EMPR                  
 AND T1.CO_CLIE = T2.CO_CLIE                  
 AND T1.NU_DOCU_CLIE = T2.NU_LETR_CLIE                  
                  
 SELECT @VNNU_NULL = COUNT(NU_DOCU_CLIE)                  
 FROM #TWDOCU_CLIE_Q36_3                  
 WHERE CO_MONE IS NULL                  
 GROUP BY CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE                  
                  
                  
 IF @VNNU_NULL > 0                  
BEGIN              
   UPDATE #TWDOCU_CLIE_Q36_3                  
   SET CO_MONE = T2.CO_MONE                  
   FROM #TWDOCU_CLIE_Q36_3 T1, #TWDOCU_CLIE_Q36_1 T2                 
   WHERE T1.CO_TIPO_DOCU != 'LET'                  
   AND T1.CO_EMPR = T2.CO_EMPR                  
   AND T1.CO_CLIE = T2.CO_CLIE                  
   AND T1.CO_TIPO_DOCU = T2.CO_TIPO_DOCU                  
   AND T1.NU_DOCU_CLIE = T2.NU_DOCU_CLIE                  
END                  
                  
UPDATE #TWDOCU_CLIE_Q36_3              
SET IM_AJUS_DICA = 0              
WHERE CO_MONE  = @ISCO_MONE                       
              
              
  IF @ISTI_REPO = 'D' /* ---------  REPORTE DETALLADO ----------*/                  
  BEGIN                  
 IF @ISDE_ORDE = '1'                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_CLIE, T3.DE_TIPO_CLIE, T1.CO_CLIE, T3.NO_AUXI,                   
   T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, IM_SAIN, T1.IM_LETR, T1.IM_RENO,                   
   T1.IM_COBR, T1.IM_APLI, T1.IM_AJUS, IM_AJUS_DICA,                  
   T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                
  FROM  #TWDOCU_CLIE_Q36_3 T1 , TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  ORDER BY T1.CO_EMPR, T3.TI_CLIE, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                  
 ELSE                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, T3.TI_CLIE, T3.DE_TIPO_CLIE, T1.CO_CLIE, T3.NO_AUXI,                   
   T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, IM_SAIN, T1.IM_LETR, T1.IM_RENO,           
   T1.IM_COBR, T1.IM_APLI, T1.IM_AJUS, IM_AJUS_DICA, T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0)                
  FROM  #TWDOCU_CLIE_Q36_3 T1 , TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR          AND T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  ORDER BY T1.CO_EMPR, T3.TI_CLIE, T3.NO_AUXI, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE                   
  END                  
                  
  IF @ISTI_REPO = 'R' /* ---------  REPORTE RESUMIDO ----------*/                  
  BEGIN                  
 IF @ISDE_ORDE = '1'                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_CLIE), MAX(T3.DE_TIPO_CLIE), T1.CO_CLIE, T3.NO_AUXI, SUM(ISNULL(IM_SAIN,0)),       
            
   SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_RENO,0)), SUM(ISNULL(T1.IM_COBR,0)),                  
   SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)), SUM(ISNULL(T1.IM_AJUS_DICA,0)),                  
   SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                  
  FROM  #TWDOCU_CLIE_Q36_3 T1 , TMEMPR T2, TMAUXI_EMPR T3        
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_CLIE, T3.NO_AUXI                  
  ORDER BY 1, 3, 5                  
                  
 ELSE                  
  SELECT T1.CO_EMPR, T2.DE_NOMB, MAX(T3.TI_CLIE), MAX(T3.DE_TIPO_CLIE), T1.CO_CLIE, T3.NO_AUXI, SUM(ISNULL(IM_SAIN,0)),       
            
    SUM(ISNULL(T1.IM_LETR,0)), SUM(ISNULL(T1.IM_RENO,0)), SUM(ISNULL(T1.IM_COBR,0)),                  
    SUM(ISNULL(T1.IM_APLI,0)), SUM(ISNULL(T1.IM_AJUS,0)), SUM(ISNULL(T1.IM_AJUS_DICA,0)),                  
    SUM(T1.IM_CONV + ISNULL(T1.IM_AJUS_DICA, 0))                  
  FROM  #TWDOCU_CLIE_Q36_3 T1 , TMEMPR T2, TMAUXI_EMPR T3                  
  WHERE  T1.CO_EMPR = T2.CO_EMPR                  
  AND  T1.CO_EMPR = T3.CO_EMPR                  
  AND T3.TI_AUXI_EMPR = @ISTI_AUXI_CLIE                  
  AND  T1.CO_CLIE = T3.CO_AUXI_EMPR                  
  GROUP BY T1.CO_EMPR, T2.DE_NOMB, T1.CO_CLIE, T3.NO_AUXI                  
  ORDER BY 1, 3, 6                  
  END                   
                  
END                  
                  
/*DROP TABLE #TWDOCU_CLIE_Q36_1                  
DROP TABLE #TWDOCU_CLIE_Q36_2                  
DROP TABLE #TWDOCU_CLIE_Q36_2A                  
DROP TABLE #TWDOCU_CLIE_Q36_3                  
DROP TABLE #TWTXMVTO_DIFE*/    
                 
RETURN                  
/*------------------------- FIN ------------------------------ */


GO
